// 引入uni-app的http请求库或其他需要的库


export const cacheUtils = {
  // 设置带过期时间的缓存
  setCacheWithExpiration(key, data, ttl) {
    const expireAt = Date.now() + ttl * 1000;// ttl单位为秒，转换为毫秒
	const cache={
		Data:data,
		ExpireAt:expireAt
	};
    const cacheData = JSON.stringify(cache);
    try {
      uni.setStorageSync(key, cacheData);
      console.log('数据已缓存，带有过期时间');
    } catch (e) {
      console.error('缓存数据失败:', e);
    }
  },

  // 获取带过期时间的缓存
  getCacheWithExpiration(key) {
    try {
      const cacheDataStr = uni.getStorageSync(key);


      if (cacheDataStr) {
		const obj = JSON.parse(cacheDataStr);
        if (Date.now() > obj.ExpireAt) {
          console.log('缓存数据已过期');
          uni.removeStorageSync(key); // 删除过期缓存
          return null;
        }
        return obj.Data;
      }
    } catch (e) {
      console.error('读取缓存数据失败:', e);
	  return null;
    }
    return null;
  },
  
base642picture(figbase64, code) {
  return new Promise((resolve, reject) => {
    let bitmap = new plus.nativeObj.Bitmap("test");
    bitmap.loadBase64Data(figbase64, function() {  
      // console.log("加载Base64图片数据成功");
      bitmap.save("_doc/"+code+".png", {}, function(i) {
        console.log('保存图片成功：' + JSON.stringify(i));
        bitmap.clear();
        resolve(i.target); // 使用resolve来返回成功的结果
      }, function(e) {  
        console.log('保存图片失败：' + JSON.stringify(e));
        bitmap.clear();
        reject(e); // 使用reject来返回错误
      });  
    }, function(e) {  
      console.log('加载Base64图片数据失败：' + JSON.stringify(e));
      bitmap.clear();
      reject(e); // 使用reject来返回错误
    }); 
  });
}

};
